export interface getMusicUrlParams {
  id: number;
}
export interface getMusicUrlRes {
  code: number;
  data: MusicData[];
}

export interface MusicData {
  id?: number;
  url?: string;
  br?: number;
  size?: number;
  md5?: string;
  code?: number;
  expi?: number;
  type?: string;
  gain?: number;
  peak?: number;
  closedGain?: number;
  closedPeak?: number;
  fee?: number;
  uf?: null;
  payed?: number;
  flag?: number;
  canExtend?: boolean;
  freeTrialInfo?: null;
  level?: string;
  encodeType?: string;
  channelLayout?: null;
  freeTrialPrivilege?: FreeTrialPrivilege;
  freeTimeTrialPrivilege?: FreeTimeTrialPrivilege;
  urlSource?: number;
  rightSource?: number;
  podcastCtrp?: null;
  effectTypes?: null;
  time?: number;
  message?: null;
  levelConfuse?: null;
  musicId?: string;
}

export interface FreeTimeTrialPrivilege {
  resConsumable: boolean;
  userConsumable: boolean;
  type: number;
  remainTime: number;
}

export interface FreeTrialPrivilege {
  resConsumable: boolean;
  userConsumable: boolean;
  listenType: null;
  cannotListenReason: null;
  playReason: null;
  freeLimitTagType: null;
}
export interface Lrc {
  version: number;
  lyric: string;
}

export interface Klyric {
  version: number;
  lyric: string;
}

export interface Tlyric {
  version: number;
  lyric: string;
}

export interface Romalrc {
  version: number;
  lyric: string;
}

export interface getMusicLyricRes {
  sgc: boolean;
  sfy: boolean;
  qfy: boolean;
  lrc: Lrc;
  klyric: Klyric;
  tlyric: Tlyric;
  romalrc: Romalrc;
  code: number;
}
export interface lyricArr {
  time: number;
  content: string;
}
